feat(parser): add Reasonix session support - #733
Conversation
roborev: Combined Review (
|
df481fb to
0e4c133
Compare
roborev: Combined Review (
|
roborev: Combined Review (
|
roborev: Combined Review (
|
roborev: Combined Review (
|
|
Addressed the last Reasonix follow-up in
Local verification:
|
roborev: Combined Review (
|
|
Handled the new Reasonix metadata follow-up in
Local verification:
|
roborev: Combined Review (
|
|
Handled the project-layout follow-up in
Local verification:
|
roborev: Combined Review (
|
roborev: Combined Review (
|
roborev: Combined Review (
|
roborev: Combined Review (
|
roborev: Combined Review (
|
roborev: Combined Review (
|
- fix(parser): address review findings for Reasonix parser (kenn-io#720) - fix(parser): watch projects subdir and guard partial metadata timestamps (kenn-io#720) - Use CutSuffix instead of HasSuffix+TrimSuffix - Extract Reasonix classification to stay within nilaway CFG limit - Include sidecar mtime in skip decisions for metadata-only updates - Use sidecar mtime in all sync paths, fall back to file mtime for timestamps - Force full message replace on Reasonix re-parse for metadata-only changes - fix(parser): keep Reasonix metadata and project sessions consistent - fix(parser): surface Reasonix sidecar metadata in session fields - fix(sync): preserve Reasonix workspace-derived project updates - docs: add Reasonix to supported agents - fix: preserve Reasonix project on single sync - fix: parse Reasonix tool results - fix: reject malformed Reasonix metadata - fix: retry Reasonix sync after metadata recovery - fix: handle deleted Reasonix metadata sidecars - fix: ignore deleted Reasonix transcripts - fix: clear Reasonix project on single resync Co-Authored-By: Wes McKinney <wesmckinn+git@gmail.com>
Rebasing the Reasonix parser onto main combined main's inline Aider classification with the new Reasonix paths in classifyOnePath, pushing the function to 502 CFG blocks (nilaway's limit is 500). Move the Aider block into a classifyAiderPath helper, mirroring classifyReasonixPath and classifyVisualStudioCopilotPath. Behavior is unchanged.
Summary
Scope
.jsonl.metasidecar described in Feature Request: Add Reasonix agent parser support #720, across all four documented layouts: project sessions, global sessions, global subagents, and archive sessions..jsonl.metasidecars are kept when present rather than overwritten during parsing.Review Notes
internal/parser/reasonix.gocovers the path layout, transcript-field mapping, and metadata sidecar fallback.internal/sync/engine.gohas two additions:processReasonixfor the file processor switch, and a Reasonix branch inclassifyOnePathfor watcher-triggered syncs.internal/parser/types_test.goandinternal/parser/reasonix_test.gocover registry guardrails, timestamp preservation, and space-containing session IDs.CGO_ENABLED=1 go test -tags "fts5,kit_posthog_disabled" ./internal/parser/... ./internal/sync/... -run "Reasonix|Registry" -count=1; broader CI covers the rest of the Go matrix.Fixes #720